Følge personer innen utdanningsforløpet og status etter endt utdanning
Dette analyseeksempelet viser hvordan man kan plukke ut personer som fullførte og avsluttet sin utdanning på ulike nivåer i 2012, og lage detaljert statistikk over hvordan det går med disse hhv. 5 og 10 år etterpå. Vi studerer både jobbstatus, trygdestatuser, videreutdanning m.m.
require no.ssb.fdb:40 as db
//Trinn 1: Lager en populasjon av personer som fullfører og avslutter sin utdanning i 2012
//Trinn 1a: Finner først personer som fullfører sin utdanning på ulike nivå i 2012, og grupperer dem etter utdanningsnivå
create-dataset ferdig_utdannete
import db/NUDB_AAR_FORSTE_FULLF_GS as fullført_år_gs
import db/NUDB_AAR_FORSTE_FULLF_VS as fullført_år_vgs
import db/NUDB_AAR_FORSTE_FULLF_VS_LOV as fullført_år_vgs_lov
import db/NUDB_AAR_FORSTE_FULLF_HOY as fullført_år_høyskole
import db/NUDB_AAR_FORSTE_FULLF_CMG as fullført_år_candmag
import db/NUDB_AAR_FORSTE_FULLF_BACH as fullført_år_bachelor
import db/NUDB_AAR_FORSTE_FULLF_HOV as fullført_år_master
import db/NUDB_AAR_FORSTE_FULLF_DOK as fullført_år_doktor
replace fullført_år_vgs = int(fullført_år_vgs/100)
replace fullført_år_vgs_lov = int(fullført_år_vgs_lov/100)
replace fullført_år_høyskole = int(fullført_år_høyskole/100)
replace fullført_år_candmag = int(fullført_år_candmag/100)
replace fullført_år_bachelor = int(fullført_år_bachelor/100)
replace fullført_år_master = int(fullført_år_master/100)
replace fullført_år_doktor = int(fullført_år_doktor/100)
summarize
generate fullført_nivå12 = 1 if fullført_år_gs == 2012
replace fullført_nivå12 = 2 if fullført_år_vgs == 2012 | fullført_år_vgs_lov == 2012
replace fullført_nivå12 = 3 if fullført_år_høyskole == 2012
replace fullført_nivå12 = 4 if fullført_år_candmag == 2012 | fullført_år_bachelor == 2012
replace fullført_nivå12 = 5 if fullført_år_master == 2012
replace fullført_nivå12 = 6 if fullført_år_doktor == 2012
define-labels nivålbl 1 Grunnskole 2 Videregående 3 Høyskolekandidat 4 Bachelor 5 Master 6 Doktorgrad
assign-labels fullført_nivå12 nivålbl
barchart(count) fullført_nivå12
tabulate fullført_nivå12
//Trinn 1b: Finner personer som fortsetter å studere i løpet av de neste 4 årene (disse skal ikke være med siden de ikke avslutter studiene sine i 2012)
create-dataset utdanning
import-event db/NUDB_KURS_NUS 2013-01-01 to 2016-12-31 as utdanningsforløp
create-dataset kurs_person
import db/NUDB_KURS_FNR as personid
merge personid into utdanning
use utdanning
collapse(count) utdanningsforløp -> ant_studier13_16, by(personid)
merge ant_studier13_16 into ferdig_utdannete
//Trinn 1c: Lager populasjonen ved å fjerne personer som ikke fullfører en utdanning i 2012 eller som fortsetter å studere de neste 4 årene
use ferdig_utdannete
drop if sysmiss(fullført_nivå12) | ant_studier13_16 > 0
drop ant_studier13_16
barchart(count) fullført_nivå12
tabulate fullført_nivå12
//Trinn 2: Kobler på bakgrunnsvariabler/demografi/levekår samt sosioøkonomisk status etter fullført utdanning
//Bakgrunn
import db/BEFOLKNING_KJOENN as kjønn
import db/BEFOLKNING_FOEDSELS_AAR_MND as fdato
import db/BEFOLKNING_LANDBAK3GEN as landbakgrunn
import db/NUDB_SOSBAK as sosial_bakgrunn
import db/NUDB_GS_STP_NOH as stp_karakter_gs_norsk_hoved_skriftlig
//Sosioøkonomisk status 0, 5 og 10 år etter
for år in 2012 2017 2022
import db/INNTEKT_WLONN date_fmt($år) as lønn++$år
import db/INNTEKT_BER_BRFORM date_fmt($år) as bruttoformue++$år
//Andre inntektsopplysninger som yrkesinntekt, gjeld, bruttoinntekt
import db/BOSATTEFDT_BOSTED date_fmt($år) as kommune++$år
generate fylke++$år = substr(kommune++$år,1,2)
end
for år in 2017 2022
import db/REGSYS_ARB_ARBEIDSTID date_fmt($år,11,16) as arbeidstid++$år
import db/REGSYS_ARB_YRKE_STYRK08 date_fmt($år,11,16) as yrke++$år
import db/INNTEKT_KODE218 date_fmt($år) as uføretrygd++$år
import db/INNTEKT_SOSIAL date_fmt($år) as sosialhjelp++$år
import db/BOFORHOLD_TRANGBODD date_fmt($år) as trangbodd++$år
import db/BOFORHOLD_BRUKSAREAL date_fmt($år) as bruksareal++$år
//Finner personer registrert hos NAV som arbeidssøker i løpet av det aktuelle året (måler fra 1/1 til 31/12)
let forløpvar = arbsøkforløp++$år
let opptellingsvar = ant_arbsøkforhold++$år
create-dataset nav++$år
import-event db/ARBSOEK2001FDT_HOVED date_fmt($år,1,1) to date_fmt($år,12,31) as $forløpvar
collapse(count) $forløpvar -> $opptellingsvar, by(PERSONID_1)
merge $opptellingsvar into ferdig_utdannete
use ferdig_utdannete
generate arbeidssøker++$år = $opptellingsvar > 0
drop $opptellingsvar
delete-dataset nav++$år
//Finner personer som tar videreutdanning i løpet av det aktuelle året (måler fra 1/1 til 31/12)
let forløpvar = utdforløp++$år
let opptellingsvar = ant_kurs++$år
create-dataset utdanning++$år
import-event db/NUDB_KURS_NUS date_fmt($år,1,1) to date_fmt($år,12,31) as $forløpvar
use kurs_person
merge personid into utdanning++$år
use utdanning++$år
collapse(count) $forløpvar -> $opptellingsvar, by(personid)
merge $opptellingsvar into ferdig_utdannete
use ferdig_utdannete
generate student++$år = $opptellingsvar > 0
drop $opptellingsvar
delete-dataset utdanning++$år
end
//Større endring i kommunekodene i 2020 => må kode fylker og storbyer på forskjellige måter før/etter (benytter 2020-standard og koder om bakover i tid)
for år in 2012 2017
let fylke = fylke++$år
recode $fylke ('03' = '03' 'Oslo')('11' = '11' 'Rogaland')('15' = '15' 'Møre og Romsdal')('18' = '18' 'Nordland')('01' '02' '06' = '30' 'Viken')('04' '05' = '34' 'Innlandet')('07' '08' = '38' 'Vestfold og Telemark')('09' '10' = '42' 'Agder')('12' '14' ='46' 'Vestland')('16' '17' = '50' 'Trøndelag')('19' '20' = '54' 'Troms og Finnmark')
generate storby++$år = inlist(kommune++$år, '0301','1201','1601','1103','0602','0106','1001')
//Storbyer: Oslo, Bergen, Trondheim, Stavanger, Drammen, Fredrikstad, Kristiansand
end
define-labels fylke20lbl '03' Oslo '11' Rogaland '15' 'Møre og Romsdal' '18' Nordland '30' Viken '34' Innlandet '38' 'Vestfold og Telemark' '42' Agder '46' Vestland '50' Trøndelag '54' 'Troms og Finnmark'
assign-labels fylke2022 fylke20lbl
generate storby2022 = inlist(kommune2022, '0301','4601','5001','1103','3005','3004','4204')
define-labels storbylbl 0 'Ikke-storby' 1 'Storby'
assign-labels storby2012 storbylbl
assign-labels storby2017 storbylbl
assign-labels storby2022 storbylbl
//Trinn 3: Lager deskriptiv statistikk over årene 2012, 2017 og 2022 (år 0, 5, 10)
//Demografi/bakgrunn
piechart kjønn
generate alder = 2012 - int(fdato/100)
barchart(count) alder
recode alder (min/20 = 1 'Under 21')(21/27 = 2 '21-27 år')(28/max = 3 'Over 27 år')
barchart(count) alder
generate norsk = landbakgrunn == '000'
generate nordisk = inlist(landbakgrunn,'000','101','103','104','105','106')
define-labels norsklbl 0 'Annet' 1 'Norsk'
assign-labels norsk norsklbl
define-labels nordisklbl 0 'Annet' 1 'Nordisk'
assign-labels nordisk nordisklbl
piechart norsk
piechart nordisk
barchart(count) sosial_bakgrunn
barchart(count) stp_karakter_gs_norsk_hoved_skriftlig
tabulate stp_karakter_gs_norsk_hoved_skriftlig, missing
//Bosetting
barchart(percent) fylke2012
barchart(percent) storby2012
sankey fylke2012 fylke2017 fylke2022
sankey storby2012 storby2017 storby2022
//Gjør om datasettet til et paneldatasett for å lage statistikk over tid
reshape-to-panel kommune fylke storby lønn bruttoformue arbeidstid yrke arbeidssøker student uføretrygd sosialhjelp trangbodd bruksareal
barchart(percent) fylke, over(date@panel) stack
barchart(percent) storby, over(date@panel) stack
//Sosioøkonomisk status
barchart(percent) trangbodd, over(date@panel) stack
barchart(mean) bruksareal, over(date@panel)
barchart(mean) lønn, over(date@panel)
barchart(mean) bruttoformue, over(date@panel)
barchart(mean) arbeidstid, over(date@panel)
generate yrkekat = substr(yrke,1,1)
textblock
Yrkeskategoriene: Hierarkisk gruppering 0-9 der 9 er laveste nivå (yrker med lave krav til utdanning)
Kategori 0 er en blandet gruppe av personer ikke i jobb, selvstendig næringsdrivende og militært personell.
Kategori 1 består av lederyrker og politikere. Kategori 2 består av akademiske yrker. Etc
endblock
barchart(percent) yrkekat, over(date@panel) stack
replace arbeidstid = round(arbeidstid)
recode arbeidstid (. 0/10 = 0 'Jobber ikke')(11/34 = 1 'Deltid')(35/max = 2 'Heltid')
barchart(percent) arbeidstid, over(date@panel) stack
generate ufør = uføretrygd > 10000
generate sosialhjelpsmottaker = sosialhjelp > 10000
generate status = 9
replace status = 6 if sosialhjelpsmottaker
replace status = 5 if ufør
replace status = 4 if arbeidssøker
replace status = 3 if student | date@panel == 2012
replace status = 2 if arbeidstid == 1
replace status = 1 if arbeidstid == 2
define-labels statuslbl 1 Heltidsarbeid 2 Deltidsarbeid 3 Utdanning 4 Arbeidssøker 5 Ufør 6 Sosialhjelpsmottaker 9 Annet
assign-labels status statuslbl
textblock
Sosioøkonomisk status ved år 0, 5 og 10
endblock
barchart(percent) status, over(date@panel) stack
//Trinn 4: Lager litt mer detaljert statistikk der vi ser nærmere på forskjeller mht. bakgrunn/demografi/levekår og utdanningsnivå
textblock
Sosioøkonomisk status 10 år etter fullført utdanning, fordelt på bakgrunns-/demografivariabler
endblock
barchart(percent) status if date@panel == 2022, over(sosial_bakgrunn) stack
barchart(percent) status if date@panel == 2022, over(kjønn) stack
barchart(percent) status if date@panel == 2022, over(alder) stack
barchart(percent) status if date@panel == 2022, over(norsk) stack
barchart(percent) status if date@panel == 2022, over(nordisk) stack
textblock
Sosioøkonomisk status 10 år etter fullført utdanning, fordelt på utdanningsnivå og kjønn
endblock
barchart(count) status if date@panel == 2022, over(fullført_nivå12) stack
barchart(count) status if date@panel == 2022 & kjønn == '1', over(fullført_nivå12) stack
barchart(count) status if date@panel == 2022 & kjønn == '2', over(fullført_nivå12) stack
textblock
Andel som tar videreutdanning 10 år etter fullført utdanning, fordelt på utdanningsnivå
endblock
define-labels studentlbl 0 'Annet' 1 'Student'
assign-labels student studentlbl
barchart(percent) student if date@panel == 2022, over(fullført_nivå12) stack
textblock
Sosioøkonomisk status 10 år etter fullført utdanning, fordelt på standpunktkarakter i norsk hovedfag fra grunnskole
(også karakterer fra VGS kan brukes, men de strekker seg ikke så langt bakover i tid)
endblock
barchart(percent) status if date@panel == 2022, over(stp_karakter_gs_norsk_hoved_skriftlig) stack
textblock
Sosioøkonomisk status 10 år etter fullført utdanning, fordelt på bosetting
endblock
barchart(percent) status if date@panel == 2022, over(fylke) stack
barchart(percent) status if date@panel == 2022, over(storby) stack
textblock
Yrkeskategori 10 år etter fullført utdanning for personer i jobb, fordelt på utdanningsnivå
Yrkeskategoriene: Hierarkisk gruppering 0-9 der 9 er laveste nivå (yrker med lave krav til utdanning)
Kategori 0 er en blandet gruppe av personer ikke i jobb, selvstendig næringsdrivende og militært personell.
Kategori 1 består av lederyrker og politikere. Kategori 2 består av akademiske yrker. Etc
endblock
barchart(percent) yrkekat if date@panel == 2022 & inlist(status,1,2), over(fullført_nivå12) stack